package upc.dew.inscripcionalumnos.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import upc.dew.inscripcionalumnos.dao.PostulanteDAO;
import upc.dew.inscripcionalumnos.exception.ServiceException;
import upc.dew.inscripcionalumnos.model.Documento;
import upc.dew.inscripcionalumnos.model.Postulante;
import upc.dew.inscripcionalumnos.model.Usuario;
import upc.dew.inscripcionalumnos.service.PostulanteService;

public class PostulanteServiceImpl implements PostulanteService 
{
    @Autowired
    private PostulanteDAO postulanteDao;

    public Postulante registrarPostulante(Postulante postulante) throws ServiceException
    {
        return postulanteDao.registrarPostulante(postulante);
    }

    public Usuario registrarUsuario(Postulante postulante) throws ServiceException
    {
        return postulanteDao.registrarUsuario(postulante);
    }

    public List<Postulante> obtenerPostulantes() throws ServiceException
    {
        return postulanteDao.obtenerPostulantes();
    }

    public List<Postulante> obtenerPostulantes(Integer fase, String estado) throws ServiceException
    {
        return postulanteDao.obtenerPostulantes(fase, estado);
    }
    
    public Postulante obtenerPostulante(Integer codigoPostulante) throws ServiceException
    {
        return postulanteDao.obtenerPostulante(codigoPostulante);
    }

    public Postulante obtenerPostulantePorCodigoUsuario(Integer codigoUsuario) throws ServiceException
    {
        return postulanteDao.obtenerPostulantePorCodigoUsuario(codigoUsuario);
    }

    public void registrarDocumento(Documento documento) throws ServiceException
    {
        postulanteDao.registrarDocumento(documento);
    }

    public Documento obtenerDocumento(Integer codigoPostulante) throws ServiceException {
        return postulanteDao.obtenerDocumento(codigoPostulante);
    }

    public void eliminarDocumentos(Integer codigoPostulante) throws ServiceException {
        postulanteDao.eliminarDocumentos(codigoPostulante);
    }
}